YES 4.5760000000000005 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ IFR

mainModule List
  ((union :: (Eq a, Eq b) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)]) :: (Eq b, Eq a) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ys if x `eq` y then ys else y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



If Reductions:
The following If expression
if eq x y then ys else y : deleteBy eq x ys

is transformed to
deleteBy0 ys y eq x True = ys
deleteBy0 ys y eq x False = y : deleteBy eq x ys



↳ HASKELL
  ↳ IFR
HASKELL
      ↳ BR

mainModule List
  ((union :: (Eq a, Eq b) => [(a,b)]  ->  [(a,b)]  ->  [(a,b)]) :: (Eq a, Eq b) => [(a,b)]  ->  [(a,b)]  ->  [(a,b)])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
HASKELL
          ↳ COR

mainModule List
  ((union :: (Eq b, Eq a) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)]) :: (Eq a, Eq b) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
nubBy' [] vy = []
nubBy' (y : ysxs
 | elem_by eq y xs
 = nubBy' ys xs
 | otherwise
 = y : nubBy' ys (y : xs)

is transformed to
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs

nubBy'0 y ys xs True = y : nubBy' ys (y : xs)

nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise

nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)

nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
HASKELL
              ↳ LetRed

mainModule List
  ((union :: (Eq b, Eq a) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)]) :: (Eq b, Eq a) => [(b,a)]  ->  [(b,a)]  ->  [(b,a)])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy nubBy'3 [] vy
nubBy' (y : ysxs nubBy'2 (y : ys) xs
nubBy'0 y ys xs True y : nubBy' ys (y : xs)
nubBy'1 y ys xs True nubBy' ys xs
nubBy'1 y ys xs False nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy []
nubBy'3 yx yy nubBy'2 yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
nubBy' l []
where 
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs
nubBy'0 y ys xs True = y : nubBy' ys (y : xs)
nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

are unpacked to the following functions on top level
nubByNubBy'0 yz y ys xs True = y : nubByNubBy' yz ys (y : xs)

nubByNubBy'3 yz [] vy = []
nubByNubBy'3 yz yx yy = nubByNubBy'2 yz yx yy

nubByNubBy'2 yz (y : ysxs = nubByNubBy'1 yz y ys xs (elem_by yz y xs)

nubByNubBy' yz [] vy = nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs = nubByNubBy'2 yz (y : ysxs

nubByNubBy'1 yz y ys xs True = nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False = nubByNubBy'0 yz y ys xs otherwise



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
HASKELL
                  ↳ Narrow

mainModule List
  (union :: (Eq a, Eq b) => [(a,b)]  ->  [(a,b)]  ->  [(a,b)])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l nubByNubBy' eq l []

  
nubByNubBy' yz [] vy nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs nubByNubBy'2 yz (y : ys) xs

  
nubByNubBy'0 yz y ys xs True y : nubByNubBy' yz ys (y : xs)

  
nubByNubBy'1 yz y ys xs True nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False nubByNubBy'0 yz y ys xs otherwise

  
nubByNubBy'2 yz (y : ysxs nubByNubBy'1 yz y ys xs (elem_by yz y xs)

  
nubByNubBy'3 yz [] vy []
nubByNubBy'3 yz yx yy nubByNubBy'2 yz yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(zu9100), Succ(zu48001000)) → new_primPlusNat(zu9100, zu48001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(zu31100100), Succ(zu4800100)) → new_primMulNat(zu31100100, Succ(zu4800100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(zu3110000), Succ(zu480000)) → new_primEqNat(zu3110000, zu480000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), app(app(app(ty_@3, gh), ha), hb), gd, ge) → new_esEs2(zu311000, zu48000, gh, ha, hb)
new_esEs0(Just(zu311000), Just(zu48000), app(app(app(ty_@3, eb), ec), ed)) → new_esEs2(zu311000, zu48000, eb, ec, ed)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), app(app(ty_Either, gb), gc), gd, ge) → new_esEs(zu311000, zu48000, gb, gc)
new_esEs(Right(zu311000), Right(zu48000), cc, app(ty_[], cg)) → new_esEs1(zu311000, zu48000, cg)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), app(app(ty_@2, hc), hd), gd, ge) → new_esEs3(zu311000, zu48000, hc, hd)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), bdb, app(app(app(ty_@3, bdg), bdh), bea)) → new_esEs2(zu311001, zu48001, bdg, bdh, bea)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, app(ty_Maybe, hh), ge) → new_esEs0(zu311001, zu48001, hh)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), ga) → new_esEs1(zu311001, zu48001, ga)
new_esEs(Right(zu311000), Right(zu48000), cc, app(app(ty_@2, dd), de)) → new_esEs3(zu311000, zu48000, dd, de)
new_esEs0(Just(zu311000), Just(zu48000), app(ty_Maybe, dh)) → new_esEs0(zu311000, zu48000, dh)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, app(ty_[], baa), ge) → new_esEs1(zu311001, zu48001, baa)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), app(ty_[], fb)) → new_esEs1(zu311000, zu48000, fb)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), bdb, app(ty_[], bdf)) → new_esEs1(zu311001, zu48001, bdf)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, app(app(ty_@2, bae), baf), ge) → new_esEs3(zu311001, zu48001, bae, baf)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, gd, app(ty_Maybe, bba)) → new_esEs0(zu311002, zu48002, bba)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), app(ty_[], bcd), bcb) → new_esEs1(zu311000, zu48000, bcd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), app(ty_Maybe, gf), gd, ge) → new_esEs0(zu311000, zu48000, gf)
new_esEs(Left(zu311000), Left(zu48000), app(ty_Maybe, bd), bc) → new_esEs0(zu311000, zu48000, bd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, app(app(ty_Either, hf), hg), ge) → new_esEs(zu311001, zu48001, hf, hg)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), bdb, app(app(ty_@2, beb), bec)) → new_esEs3(zu311001, zu48001, beb, bec)
new_esEs0(Just(zu311000), Just(zu48000), app(app(ty_Either, df), dg)) → new_esEs(zu311000, zu48000, df, dg)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, gd, app(app(ty_Either, bag), bah)) → new_esEs(zu311002, zu48002, bag, bah)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), app(app(ty_@2, fg), fh)) → new_esEs3(zu311000, zu48000, fg, fh)
new_esEs(Right(zu311000), Right(zu48000), cc, app(app(ty_Either, cd), ce)) → new_esEs(zu311000, zu48000, cd, ce)
new_esEs(Left(zu311000), Left(zu48000), app(app(ty_@2, ca), cb), bc) → new_esEs3(zu311000, zu48000, ca, cb)
new_esEs0(Just(zu311000), Just(zu48000), app(ty_[], ea)) → new_esEs1(zu311000, zu48000, ea)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), app(ty_Maybe, bcc), bcb) → new_esEs0(zu311000, zu48000, bcc)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), app(ty_Maybe, fa)) → new_esEs0(zu311000, zu48000, fa)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, app(app(app(ty_@3, bab), bac), bad), ge) → new_esEs2(zu311001, zu48001, bab, bac, bad)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), app(app(ty_@2, bch), bda), bcb) → new_esEs3(zu311000, zu48000, bch, bda)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), bdb, app(ty_Maybe, bde)) → new_esEs0(zu311001, zu48001, bde)
new_esEs(Right(zu311000), Right(zu48000), cc, app(ty_Maybe, cf)) → new_esEs0(zu311000, zu48000, cf)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), bdb, app(app(ty_Either, bdc), bdd)) → new_esEs(zu311001, zu48001, bdc, bdd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, gd, app(ty_[], bbb)) → new_esEs1(zu311002, zu48002, bbb)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), app(app(ty_Either, bbh), bca), bcb) → new_esEs(zu311000, zu48000, bbh, bca)
new_esEs3(@2(zu311000, zu311001), @2(zu48000, zu48001), app(app(app(ty_@3, bce), bcf), bcg), bcb) → new_esEs2(zu311000, zu48000, bce, bcf, bcg)
new_esEs(Left(zu311000), Left(zu48000), app(ty_[], be), bc) → new_esEs1(zu311000, zu48000, be)
new_esEs(Left(zu311000), Left(zu48000), app(app(app(ty_@3, bf), bg), bh), bc) → new_esEs2(zu311000, zu48000, bf, bg, bh)
new_esEs(Right(zu311000), Right(zu48000), cc, app(app(app(ty_@3, da), db), dc)) → new_esEs2(zu311000, zu48000, da, db, dc)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, gd, app(app(ty_@2, bbf), bbg)) → new_esEs3(zu311002, zu48002, bbf, bbg)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), app(ty_[], gg), gd, ge) → new_esEs1(zu311000, zu48000, gg)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), app(app(app(ty_@3, fc), fd), ff)) → new_esEs2(zu311000, zu48000, fc, fd, ff)
new_esEs0(Just(zu311000), Just(zu48000), app(app(ty_@2, ee), ef)) → new_esEs3(zu311000, zu48000, ee, ef)
new_esEs1(:(zu311000, zu311001), :(zu48000, zu48001), app(app(ty_Either, eg), eh)) → new_esEs(zu311000, zu48000, eg, eh)
new_esEs(Left(zu311000), Left(zu48000), app(app(ty_Either, ba), bb), bc) → new_esEs(zu311000, zu48000, ba, bb)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), he, gd, app(app(app(ty_@3, bbc), bbd), bbe)) → new_esEs2(zu311002, zu48002, bbc, bbd, bbe)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ DependencyGraphProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu199, zu200, zu201, zu202, False, :(zu2040, zu2041), ba) → new_nubByNubBy'1(zu199, zu200, zu201, zu202, new_esEs4(zu2040, zu199, ba), zu2041, ba)
new_nubByNubBy'10(zu199, zu200, zu201, zu202, [], ba) → new_nubByNubBy'(zu200, zu199, :(zu201, zu202), ba)
new_nubByNubBy'1(zu199, :(zu2000, zu2001), zu201, zu202, True, zu204, ba) → new_nubByNubBy'10(zu2000, zu2001, zu201, zu202, :(zu201, zu202), ba)
new_nubByNubBy'1(zu199, zu200, zu201, zu202, False, [], ba) → new_nubByNubBy'(zu200, zu199, :(zu201, zu202), ba)
new_nubByNubBy'10(zu199, zu200, zu201, zu202, :(zu2040, zu2041), ba) → new_nubByNubBy'1(zu199, zu200, zu201, zu202, new_esEs4(zu2040, zu199, ba), zu2041, ba)
new_nubByNubBy'(:(zu2000, zu2001), zu201, zu202, ba) → new_nubByNubBy'10(zu2000, zu2001, zu201, zu202, :(zu201, zu202), ba)

The TRS R consists of the following rules:

new_esEs23(zu311002, zu48002, app(app(ty_@2, beb), bec)) → new_esEs5(zu311002, zu48002, beb, bec)
new_esEs22(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(app(ty_Either, bdc), bdd)) → new_esEs12(zu311002, zu48002, bdc, bdd)
new_esEs22(zu311001, zu48001, app(ty_Maybe, bcc)) → new_esEs13(zu311001, zu48001, bcc)
new_esEs22(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs20(True, True) → True
new_esEs22(zu311001, zu48001, app(ty_Ratio, bbh)) → new_esEs9(zu311001, zu48001, bbh)
new_primPlusNat1(Succ(zu9100), Succ(zu48001000)) → Succ(Succ(new_primPlusNat1(zu9100, zu48001000)))
new_esEs13(Just(zu311000), Just(zu48000), ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu48000)) → False
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu48000)) → False
new_esEs26(zu311000, zu48000, app(app(ty_Either, bga), bgb)) → new_esEs12(zu311000, zu48000, bga, bgb)
new_esEs20(False, False) → True
new_esEs7(zu311001, zu48001, app(app(app(ty_@3, dd), de), df)) → new_esEs17(zu311001, zu48001, dd, de, df)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_@2, fb), fc)) → new_esEs5(zu311000, zu48000, fb, fc)
new_esEs26(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Bool) → new_esEs20(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Succ(zu480000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu480000))) → False
new_esEs4(zu2040, zu199, ty_Int) → new_esEs18(zu2040, zu199)
new_esEs21(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs22(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Int) → new_esEs18(zu311002, zu48002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu48000, app(app(ty_@2, bgh), bha)) → new_esEs5(zu311000, zu48000, bgh, bha)
new_esEs7(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs13(Nothing, Nothing, ea) → True
new_esEs21(zu311000, zu48000, app(app(ty_@2, bbf), bbg)) → new_esEs5(zu311000, zu48000, bbf, bbg)
new_esEs26(zu311000, zu48000, app(ty_[], bgd)) → new_esEs16(zu311000, zu48000, bgd)
new_esEs13(Just(zu311000), Just(zu48000), ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs4(zu2040, zu199, ty_Ordering) → new_esEs19(zu2040, zu199)
new_esEs21(zu311000, zu48000, app(app(ty_Either, bag), bah)) → new_esEs12(zu311000, zu48000, bag, bah)
new_esEs6(zu311000, zu48000, app(ty_[], bh)) → new_esEs16(zu311000, zu48000, bh)
new_primPlusNat0(Zero, zu4800100) → Succ(zu4800100)
new_esEs23(zu311002, zu48002, ty_Bool) → new_esEs20(zu311002, zu48002)
new_esEs5(@2(zu311000, zu311001), @2(zu48000, zu48001), bb, bc) → new_asAs(new_esEs6(zu311000, zu48000, bb), new_esEs7(zu311001, zu48001, bc))
new_esEs7(zu311001, zu48001, app(ty_Maybe, db)) → new_esEs13(zu311001, zu48001, db)
new_esEs4(zu2040, zu199, app(app(app(ty_@3, bfa), bfb), bfc)) → new_esEs17(zu2040, zu199, bfa, bfb, bfc)
new_esEs7(zu311001, zu48001, app(app(ty_@2, dg), dh)) → new_esEs5(zu311001, zu48001, dg, dh)
new_esEs6(zu311000, zu48000, app(app(app(ty_@3, ca), cb), cc)) → new_esEs17(zu311000, zu48000, ca, cb, cc)
new_esEs26(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Double) → new_esEs11(zu311002, zu48002)
new_esEs26(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Char) → new_esEs15(zu311002, zu48002)
new_sr(Neg(zu3110010), Pos(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_sr(Pos(zu3110010), Neg(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_esEs8(@0, @0) → True
new_esEs13(Just(zu311000), Just(zu48000), app(ty_[], ef)) → new_esEs16(zu311000, zu48000, ef)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_[], he)) → new_esEs16(zu311000, zu48000, he)
new_esEs6(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_[], gb), fd) → new_esEs16(zu311000, zu48000, gb)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs12(Left(zu311000), Right(zu48000), gh, fd) → False
new_esEs12(Right(zu311000), Left(zu48000), gh, fd) → False
new_esEs22(zu311001, zu48001, app(app(ty_@2, bch), bda)) → new_esEs5(zu311001, zu48001, bch, bda)
new_esEs22(zu311001, zu48001, app(ty_[], bcd)) → new_esEs16(zu311001, zu48001, bcd)
new_esEs7(zu311001, zu48001, app(app(ty_Either, cg), da)) → new_esEs12(zu311001, zu48001, cg, da)
new_esEs11(Double(zu311000, zu311001), Double(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs7(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs26(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs6(zu311000, zu48000, app(ty_Ratio, bd)) → new_esEs9(zu311000, zu48000, bd)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_Either, fg), fh), fd) → new_esEs12(zu311000, zu48000, fg, fh)
new_esEs26(zu311000, zu48000, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs17(zu311000, zu48000, bge, bgf, bgg)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqNat0(Zero, Succ(zu480000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs4(zu2040, zu199, ty_@0) → new_esEs8(zu2040, zu199)
new_esEs12(Left(zu311000), Left(zu48000), ty_@0, fd) → new_esEs8(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_@0) → new_esEs8(zu311002, zu48002)
new_esEs13(Just(zu311000), Just(zu48000), ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs13(Just(zu311000), Nothing, ea) → False
new_esEs13(Nothing, Just(zu48000), ea) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(GT, GT) → True
new_esEs12(Left(zu311000), Left(zu48000), ty_Integer, fd) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs26(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Double, fd) → new_esEs11(zu311000, zu48000)
new_esEs16([], :(zu48000, zu48001), bfg) → False
new_esEs16(:(zu311000, zu311001), [], bfg) → False
new_esEs4(zu2040, zu199, ty_Double) → new_esEs11(zu2040, zu199)
new_esEs6(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, app(ty_Ratio, cf)) → new_esEs9(zu311001, zu48001, cf)
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), bac, bad, bae) → new_asAs(new_esEs21(zu311000, zu48000, bac), new_asAs(new_esEs22(zu311001, zu48001, bad), new_esEs23(zu311002, zu48002, bae)))
new_esEs25(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs21(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(app(ty_@2, cd), ce)) → new_esEs5(zu311000, zu48000, cd, ce)
new_esEs18(zu31100, zu4800) → new_primEqInt(zu31100, zu4800)
new_esEs14(Integer(zu311000), Integer(zu48000)) → new_primEqInt(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu48000, hf, hg, hh)
new_esEs21(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs19(LT, LT) → True
new_esEs4(zu2040, zu199, ty_Integer) → new_esEs14(zu2040, zu199)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs22(zu311001, zu48001, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs17(zu311001, zu48001, bce, bcf, bcg)
new_esEs13(Just(zu311000), Just(zu48000), app(app(app(ty_@3, eg), eh), fa)) → new_esEs17(zu311000, zu48000, eg, eh, fa)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_esEs12(Left(zu311000), Left(zu48000), ty_Float, fd) → new_esEs10(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(app(app(ty_@3, bbc), bbd), bbe)) → new_esEs17(zu311000, zu48000, bbc, bbd, bbe)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Double) → new_esEs11(zu311000, zu48000)
new_sr(Neg(zu3110010), Neg(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs13(Just(zu311000), Just(zu48000), ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, app(ty_Maybe, bde)) → new_esEs13(zu311002, zu48002, bde)
new_asAs(False, zu89) → False
new_sr(Pos(zu3110010), Pos(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs22(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_primEqNat0(Zero, Zero) → True
new_esEs22(zu311001, zu48001, app(app(ty_Either, bca), bcb)) → new_esEs12(zu311001, zu48001, bca, bcb)
new_esEs4(zu2040, zu199, app(ty_Maybe, beg)) → new_esEs13(zu2040, zu199, beg)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4800100)) → Zero
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Ratio, ff), fd) → new_esEs9(zu311000, zu48000, ff)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_Either, ec), ed)) → new_esEs12(zu311000, zu48000, ec, ed)
new_esEs7(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs26(zu311000, zu48000, app(ty_Ratio, bfh)) → new_esEs9(zu311000, zu48000, bfh)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Maybe, ee)) → new_esEs13(zu311000, zu48000, ee)
new_esEs15(Char(zu311000), Char(zu48000)) → new_primEqNat0(zu311000, zu48000)
new_esEs26(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Maybe, ga), fd) → new_esEs13(zu311000, zu48000, ga)
new_primPlusNat0(Succ(zu910), zu4800100) → Succ(Succ(new_primPlusNat1(zu910, zu4800100)))
new_esEs9(:%(zu311000, zu311001), :%(zu48000, zu48001), bff) → new_asAs(new_esEs24(zu311000, zu48000, bff), new_esEs25(zu311001, zu48001, bff))
new_esEs21(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Int, fd) → new_esEs18(zu311000, zu48000)
new_esEs24(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(app(ty_Either, bee), bef)) → new_esEs12(zu2040, zu199, bee, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs19(EQ, EQ) → True
new_esEs22(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_primPlusNat1(Succ(zu9100), Zero) → Succ(zu9100)
new_primPlusNat1(Zero, Succ(zu48001000)) → Succ(zu48001000)
new_esEs16([], [], bfg) → True
new_esEs21(zu311000, zu48000, app(ty_Ratio, baf)) → new_esEs9(zu311000, zu48000, baf)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_Maybe, hd)) → new_esEs13(zu311000, zu48000, hd)
new_esEs23(zu311002, zu48002, app(app(app(ty_@3, bdg), bdh), bea)) → new_esEs17(zu311002, zu48002, bdg, bdh, bea)
new_esEs21(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Bool, fd) → new_esEs20(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(app(ty_@2, bfd), bfe)) → new_esEs5(zu2040, zu199, bfd, bfe)
new_esEs25(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs7(zu311001, zu48001, app(ty_[], dc)) → new_esEs16(zu311001, zu48001, dc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(zu311002, zu48002, app(ty_Ratio, bdb)) → new_esEs9(zu311002, zu48002, bdb)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(ty_Either, hb), hc)) → new_esEs12(zu311000, zu48000, hb, hc)
new_esEs4(zu2040, zu199, ty_Char) → new_esEs15(zu2040, zu199)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zu480000))) → False
new_esEs10(Float(zu311000, zu311001), Float(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(ty_[], bdf)) → new_esEs16(zu311002, zu48002, bdf)
new_esEs7(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Ordering) → new_esEs19(zu311002, zu48002)
new_esEs12(Left(zu311000), Left(zu48000), app(app(app(ty_@3, gc), gd), ge), fd) → new_esEs17(zu311000, zu48000, gc, gd, ge)
new_esEs4(zu2040, zu199, app(ty_[], beh)) → new_esEs16(zu2040, zu199, beh)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs13(Just(zu311000), Just(zu48000), ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Char, fd) → new_esEs15(zu311000, zu48000)
new_esEs26(zu311000, zu48000, app(ty_Maybe, bgc)) → new_esEs13(zu311000, zu48000, bgc)
new_esEs4(zu2040, zu199, ty_Bool) → new_esEs20(zu2040, zu199)
new_asAs(True, zu89) → zu89
new_esEs23(zu311002, zu48002, ty_Integer) → new_esEs14(zu311002, zu48002)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Double) → new_esEs11(zu311000, zu48000)
new_primMulNat0(Succ(zu31100100), Succ(zu4800100)) → new_primPlusNat0(new_primMulNat0(zu31100100, Succ(zu4800100)), zu4800100)
new_esEs21(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs26(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(ty_Ratio, bed)) → new_esEs9(zu2040, zu199, bed)
new_esEs23(zu311002, zu48002, ty_Float) → new_esEs10(zu311002, zu48002)
new_esEs6(zu311000, zu48000, app(app(ty_Either, be), bf)) → new_esEs12(zu311000, zu48000, be, bf)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Ratio, eb)) → new_esEs9(zu311000, zu48000, eb)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs21(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_Maybe, bba)) → new_esEs13(zu311000, zu48000, bba)
new_esEs4(zu2040, zu199, ty_Float) → new_esEs10(zu2040, zu199)
new_esEs13(Just(zu311000), Just(zu48000), ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_@2, gf), gg), fd) → new_esEs5(zu311000, zu48000, gf, gg)
new_esEs24(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Succ(zu480000)) → new_primEqNat0(zu3110000, zu480000)
new_esEs16(:(zu311000, zu311001), :(zu48000, zu48001), bfg) → new_asAs(new_esEs26(zu311000, zu48000, bfg), new_esEs16(zu311001, zu48001, bfg))
new_esEs6(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(ty_Maybe, bg)) → new_esEs13(zu311000, zu48000, bg)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_Ratio, ha)) → new_esEs9(zu311000, zu48000, ha)
new_esEs26(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_[], bbb)) → new_esEs16(zu311000, zu48000, bbb)
new_esEs22(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs12(Left(zu311000), Left(zu48000), ty_Ordering, fd) → new_esEs19(zu311000, zu48000)
new_primEqInt(Pos(Zero), Pos(Succ(zu480000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu48000, baa, bab)
new_esEs6(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True

The set Q consists of the following terms:

new_esEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(:%(x0, x1), :%(x2, x3), x4)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Left(x0), Right(x1), x2, x3)
new_esEs12(Right(x0), Left(x1), x2, x3)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Double)
new_esEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs6(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs16([], :(x0, x1), x2)
new_esEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs12(Right(x0), Right(x1), x2, ty_Integer)
new_esEs23(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs11(Double(x0, x1), Double(x2, x3))
new_esEs23(x0, x1, ty_Char)
new_esEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs12(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Integer)
new_esEs13(Nothing, Nothing, x0)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, ty_Double)
new_esEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Double)
new_esEs12(Left(x0), Left(x1), ty_Int, x2)
new_primPlusNat1(Succ(x0), Zero)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Ordering)
new_esEs8(@0, @0)
new_esEs4(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_esEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs12(Left(x0), Left(x1), ty_@0, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_esEs7(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Int)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_@0)
new_esEs12(Left(x0), Left(x1), ty_Integer, x2)
new_esEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Bool, x2)
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs13(Just(x0), Just(x1), ty_Int)
new_esEs6(x0, x1, ty_Int)
new_esEs18(x0, x1)
new_esEs12(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_@0)
new_esEs19(GT, GT)
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs16(:(x0, x1), [], x2)
new_esEs7(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Int)
new_primMulNat0(Zero, Zero)
new_esEs13(Just(x0), Nothing, x1)
new_esEs23(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_esEs19(EQ, EQ)
new_esEs4(x0, x1, ty_@0)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_Float)
new_esEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Nothing, Just(x0), x1)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqNat0(Succ(x0), Zero)
new_primPlusNat0(Zero, x0)
new_esEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs22(x0, x1, ty_Float)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primEqNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_esEs26(x0, x1, ty_Int)
new_esEs12(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Bool)
new_esEs19(LT, LT)
new_esEs20(True, True)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_@0)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(True, x0)
new_asAs(False, x0)
new_esEs7(x0, x1, ty_Ordering)
new_esEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs22(x0, x1, ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Char, x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Bool)
new_esEs16([], [], x0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs26(x0, x1, ty_Float)
new_esEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs22(x0, x1, ty_Double)
new_esEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(False, True)
new_esEs20(True, False)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs20(False, False)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Integer)
new_esEs12(Right(x0), Right(x1), x2, ty_Char)
new_esEs13(Just(x0), Just(x1), ty_Bool)
new_primPlusNat1(Zero, Zero)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_primMulNat0(Succ(x0), Zero)
new_esEs22(x0, x1, ty_Ordering)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Bool)
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Ordering)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs7(x0, x1, ty_Char)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_Bool)
new_esEs12(Right(x0), Right(x1), x2, ty_Float)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Float)
new_esEs21(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu199, zu200, zu201, zu202, False, :(zu2040, zu2041), ba) → new_nubByNubBy'1(zu199, zu200, zu201, zu202, new_esEs4(zu2040, zu199, ba), zu2041, ba)
new_nubByNubBy'1(zu199, :(zu2000, zu2001), zu201, zu202, True, zu204, ba) → new_nubByNubBy'10(zu2000, zu2001, zu201, zu202, :(zu201, zu202), ba)
new_nubByNubBy'1(zu199, zu200, zu201, zu202, False, [], ba) → new_nubByNubBy'(zu200, zu199, :(zu201, zu202), ba)
new_nubByNubBy'10(zu199, zu200, zu201, zu202, :(zu2040, zu2041), ba) → new_nubByNubBy'1(zu199, zu200, zu201, zu202, new_esEs4(zu2040, zu199, ba), zu2041, ba)
new_nubByNubBy'(:(zu2000, zu2001), zu201, zu202, ba) → new_nubByNubBy'10(zu2000, zu2001, zu201, zu202, :(zu201, zu202), ba)

The TRS R consists of the following rules:

new_esEs23(zu311002, zu48002, app(app(ty_@2, beb), bec)) → new_esEs5(zu311002, zu48002, beb, bec)
new_esEs22(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(app(ty_Either, bdc), bdd)) → new_esEs12(zu311002, zu48002, bdc, bdd)
new_esEs22(zu311001, zu48001, app(ty_Maybe, bcc)) → new_esEs13(zu311001, zu48001, bcc)
new_esEs22(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs20(True, True) → True
new_esEs22(zu311001, zu48001, app(ty_Ratio, bbh)) → new_esEs9(zu311001, zu48001, bbh)
new_primPlusNat1(Succ(zu9100), Succ(zu48001000)) → Succ(Succ(new_primPlusNat1(zu9100, zu48001000)))
new_esEs13(Just(zu311000), Just(zu48000), ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu48000)) → False
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu48000)) → False
new_esEs26(zu311000, zu48000, app(app(ty_Either, bga), bgb)) → new_esEs12(zu311000, zu48000, bga, bgb)
new_esEs20(False, False) → True
new_esEs7(zu311001, zu48001, app(app(app(ty_@3, dd), de), df)) → new_esEs17(zu311001, zu48001, dd, de, df)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_@2, fb), fc)) → new_esEs5(zu311000, zu48000, fb, fc)
new_esEs26(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Bool) → new_esEs20(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Succ(zu480000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu480000))) → False
new_esEs4(zu2040, zu199, ty_Int) → new_esEs18(zu2040, zu199)
new_esEs21(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs22(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Int) → new_esEs18(zu311002, zu48002)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu48000, app(app(ty_@2, bgh), bha)) → new_esEs5(zu311000, zu48000, bgh, bha)
new_esEs7(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs13(Nothing, Nothing, ea) → True
new_esEs21(zu311000, zu48000, app(app(ty_@2, bbf), bbg)) → new_esEs5(zu311000, zu48000, bbf, bbg)
new_esEs26(zu311000, zu48000, app(ty_[], bgd)) → new_esEs16(zu311000, zu48000, bgd)
new_esEs13(Just(zu311000), Just(zu48000), ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs4(zu2040, zu199, ty_Ordering) → new_esEs19(zu2040, zu199)
new_esEs21(zu311000, zu48000, app(app(ty_Either, bag), bah)) → new_esEs12(zu311000, zu48000, bag, bah)
new_esEs6(zu311000, zu48000, app(ty_[], bh)) → new_esEs16(zu311000, zu48000, bh)
new_primPlusNat0(Zero, zu4800100) → Succ(zu4800100)
new_esEs23(zu311002, zu48002, ty_Bool) → new_esEs20(zu311002, zu48002)
new_esEs5(@2(zu311000, zu311001), @2(zu48000, zu48001), bb, bc) → new_asAs(new_esEs6(zu311000, zu48000, bb), new_esEs7(zu311001, zu48001, bc))
new_esEs7(zu311001, zu48001, app(ty_Maybe, db)) → new_esEs13(zu311001, zu48001, db)
new_esEs4(zu2040, zu199, app(app(app(ty_@3, bfa), bfb), bfc)) → new_esEs17(zu2040, zu199, bfa, bfb, bfc)
new_esEs7(zu311001, zu48001, app(app(ty_@2, dg), dh)) → new_esEs5(zu311001, zu48001, dg, dh)
new_esEs6(zu311000, zu48000, app(app(app(ty_@3, ca), cb), cc)) → new_esEs17(zu311000, zu48000, ca, cb, cc)
new_esEs26(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Double) → new_esEs11(zu311002, zu48002)
new_esEs26(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Char) → new_esEs15(zu311002, zu48002)
new_sr(Neg(zu3110010), Pos(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_sr(Pos(zu3110010), Neg(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_esEs8(@0, @0) → True
new_esEs13(Just(zu311000), Just(zu48000), app(ty_[], ef)) → new_esEs16(zu311000, zu48000, ef)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_[], he)) → new_esEs16(zu311000, zu48000, he)
new_esEs6(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_[], gb), fd) → new_esEs16(zu311000, zu48000, gb)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs12(Left(zu311000), Right(zu48000), gh, fd) → False
new_esEs12(Right(zu311000), Left(zu48000), gh, fd) → False
new_esEs22(zu311001, zu48001, app(app(ty_@2, bch), bda)) → new_esEs5(zu311001, zu48001, bch, bda)
new_esEs22(zu311001, zu48001, app(ty_[], bcd)) → new_esEs16(zu311001, zu48001, bcd)
new_esEs7(zu311001, zu48001, app(app(ty_Either, cg), da)) → new_esEs12(zu311001, zu48001, cg, da)
new_esEs11(Double(zu311000, zu311001), Double(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs7(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs26(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs6(zu311000, zu48000, app(ty_Ratio, bd)) → new_esEs9(zu311000, zu48000, bd)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_Either, fg), fh), fd) → new_esEs12(zu311000, zu48000, fg, fh)
new_esEs26(zu311000, zu48000, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs17(zu311000, zu48000, bge, bgf, bgg)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqNat0(Zero, Succ(zu480000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs4(zu2040, zu199, ty_@0) → new_esEs8(zu2040, zu199)
new_esEs12(Left(zu311000), Left(zu48000), ty_@0, fd) → new_esEs8(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_@0) → new_esEs8(zu311002, zu48002)
new_esEs13(Just(zu311000), Just(zu48000), ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs13(Just(zu311000), Nothing, ea) → False
new_esEs13(Nothing, Just(zu48000), ea) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(GT, GT) → True
new_esEs12(Left(zu311000), Left(zu48000), ty_Integer, fd) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs26(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Double, fd) → new_esEs11(zu311000, zu48000)
new_esEs16([], :(zu48000, zu48001), bfg) → False
new_esEs16(:(zu311000, zu311001), [], bfg) → False
new_esEs4(zu2040, zu199, ty_Double) → new_esEs11(zu2040, zu199)
new_esEs6(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, app(ty_Ratio, cf)) → new_esEs9(zu311001, zu48001, cf)
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), bac, bad, bae) → new_asAs(new_esEs21(zu311000, zu48000, bac), new_asAs(new_esEs22(zu311001, zu48001, bad), new_esEs23(zu311002, zu48002, bae)))
new_esEs25(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs21(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(app(ty_@2, cd), ce)) → new_esEs5(zu311000, zu48000, cd, ce)
new_esEs18(zu31100, zu4800) → new_primEqInt(zu31100, zu4800)
new_esEs14(Integer(zu311000), Integer(zu48000)) → new_primEqInt(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu48000, hf, hg, hh)
new_esEs21(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs19(LT, LT) → True
new_esEs4(zu2040, zu199, ty_Integer) → new_esEs14(zu2040, zu199)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs22(zu311001, zu48001, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs17(zu311001, zu48001, bce, bcf, bcg)
new_esEs13(Just(zu311000), Just(zu48000), app(app(app(ty_@3, eg), eh), fa)) → new_esEs17(zu311000, zu48000, eg, eh, fa)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_esEs12(Left(zu311000), Left(zu48000), ty_Float, fd) → new_esEs10(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(app(app(ty_@3, bbc), bbd), bbe)) → new_esEs17(zu311000, zu48000, bbc, bbd, bbe)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Double) → new_esEs11(zu311000, zu48000)
new_sr(Neg(zu3110010), Neg(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs13(Just(zu311000), Just(zu48000), ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, app(ty_Maybe, bde)) → new_esEs13(zu311002, zu48002, bde)
new_asAs(False, zu89) → False
new_sr(Pos(zu3110010), Pos(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs22(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_primEqNat0(Zero, Zero) → True
new_esEs22(zu311001, zu48001, app(app(ty_Either, bca), bcb)) → new_esEs12(zu311001, zu48001, bca, bcb)
new_esEs4(zu2040, zu199, app(ty_Maybe, beg)) → new_esEs13(zu2040, zu199, beg)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4800100)) → Zero
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Ratio, ff), fd) → new_esEs9(zu311000, zu48000, ff)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_Either, ec), ed)) → new_esEs12(zu311000, zu48000, ec, ed)
new_esEs7(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs26(zu311000, zu48000, app(ty_Ratio, bfh)) → new_esEs9(zu311000, zu48000, bfh)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Maybe, ee)) → new_esEs13(zu311000, zu48000, ee)
new_esEs15(Char(zu311000), Char(zu48000)) → new_primEqNat0(zu311000, zu48000)
new_esEs26(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Maybe, ga), fd) → new_esEs13(zu311000, zu48000, ga)
new_primPlusNat0(Succ(zu910), zu4800100) → Succ(Succ(new_primPlusNat1(zu910, zu4800100)))
new_esEs9(:%(zu311000, zu311001), :%(zu48000, zu48001), bff) → new_asAs(new_esEs24(zu311000, zu48000, bff), new_esEs25(zu311001, zu48001, bff))
new_esEs21(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Int, fd) → new_esEs18(zu311000, zu48000)
new_esEs24(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(app(ty_Either, bee), bef)) → new_esEs12(zu2040, zu199, bee, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs19(EQ, EQ) → True
new_esEs22(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_primPlusNat1(Succ(zu9100), Zero) → Succ(zu9100)
new_primPlusNat1(Zero, Succ(zu48001000)) → Succ(zu48001000)
new_esEs16([], [], bfg) → True
new_esEs21(zu311000, zu48000, app(ty_Ratio, baf)) → new_esEs9(zu311000, zu48000, baf)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_Maybe, hd)) → new_esEs13(zu311000, zu48000, hd)
new_esEs23(zu311002, zu48002, app(app(app(ty_@3, bdg), bdh), bea)) → new_esEs17(zu311002, zu48002, bdg, bdh, bea)
new_esEs21(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Bool, fd) → new_esEs20(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(app(ty_@2, bfd), bfe)) → new_esEs5(zu2040, zu199, bfd, bfe)
new_esEs25(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs7(zu311001, zu48001, app(ty_[], dc)) → new_esEs16(zu311001, zu48001, dc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(zu311002, zu48002, app(ty_Ratio, bdb)) → new_esEs9(zu311002, zu48002, bdb)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(ty_Either, hb), hc)) → new_esEs12(zu311000, zu48000, hb, hc)
new_esEs4(zu2040, zu199, ty_Char) → new_esEs15(zu2040, zu199)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zu480000))) → False
new_esEs10(Float(zu311000, zu311001), Float(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(ty_[], bdf)) → new_esEs16(zu311002, zu48002, bdf)
new_esEs7(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Ordering) → new_esEs19(zu311002, zu48002)
new_esEs12(Left(zu311000), Left(zu48000), app(app(app(ty_@3, gc), gd), ge), fd) → new_esEs17(zu311000, zu48000, gc, gd, ge)
new_esEs4(zu2040, zu199, app(ty_[], beh)) → new_esEs16(zu2040, zu199, beh)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs13(Just(zu311000), Just(zu48000), ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Char, fd) → new_esEs15(zu311000, zu48000)
new_esEs26(zu311000, zu48000, app(ty_Maybe, bgc)) → new_esEs13(zu311000, zu48000, bgc)
new_esEs4(zu2040, zu199, ty_Bool) → new_esEs20(zu2040, zu199)
new_asAs(True, zu89) → zu89
new_esEs23(zu311002, zu48002, ty_Integer) → new_esEs14(zu311002, zu48002)
new_esEs12(Right(zu311000), Right(zu48000), gh, ty_Double) → new_esEs11(zu311000, zu48000)
new_primMulNat0(Succ(zu31100100), Succ(zu4800100)) → new_primPlusNat0(new_primMulNat0(zu31100100, Succ(zu4800100)), zu4800100)
new_esEs21(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs26(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs4(zu2040, zu199, app(ty_Ratio, bed)) → new_esEs9(zu2040, zu199, bed)
new_esEs23(zu311002, zu48002, ty_Float) → new_esEs10(zu311002, zu48002)
new_esEs6(zu311000, zu48000, app(app(ty_Either, be), bf)) → new_esEs12(zu311000, zu48000, be, bf)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Ratio, eb)) → new_esEs9(zu311000, zu48000, eb)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs21(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_Maybe, bba)) → new_esEs13(zu311000, zu48000, bba)
new_esEs4(zu2040, zu199, ty_Float) → new_esEs10(zu2040, zu199)
new_esEs13(Just(zu311000), Just(zu48000), ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_@2, gf), gg), fd) → new_esEs5(zu311000, zu48000, gf, gg)
new_esEs24(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Succ(zu480000)) → new_primEqNat0(zu3110000, zu480000)
new_esEs16(:(zu311000, zu311001), :(zu48000, zu48001), bfg) → new_asAs(new_esEs26(zu311000, zu48000, bfg), new_esEs16(zu311001, zu48001, bfg))
new_esEs6(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(ty_Maybe, bg)) → new_esEs13(zu311000, zu48000, bg)
new_esEs12(Right(zu311000), Right(zu48000), gh, app(ty_Ratio, ha)) → new_esEs9(zu311000, zu48000, ha)
new_esEs26(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_[], bbb)) → new_esEs16(zu311000, zu48000, bbb)
new_esEs22(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs12(Left(zu311000), Left(zu48000), ty_Ordering, fd) → new_esEs19(zu311000, zu48000)
new_primEqInt(Pos(Zero), Pos(Succ(zu480000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_esEs12(Right(zu311000), Right(zu48000), gh, app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu48000, baa, bab)
new_esEs6(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True

The set Q consists of the following terms:

new_esEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(:%(x0, x1), :%(x2, x3), x4)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Left(x0), Right(x1), x2, x3)
new_esEs12(Right(x0), Left(x1), x2, x3)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Double)
new_esEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs6(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs16([], :(x0, x1), x2)
new_esEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs12(Right(x0), Right(x1), x2, ty_Integer)
new_esEs23(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs11(Double(x0, x1), Double(x2, x3))
new_esEs23(x0, x1, ty_Char)
new_esEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs12(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Integer)
new_esEs13(Nothing, Nothing, x0)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, ty_Double)
new_esEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Double)
new_esEs12(Left(x0), Left(x1), ty_Int, x2)
new_primPlusNat1(Succ(x0), Zero)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Ordering)
new_esEs8(@0, @0)
new_esEs4(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_esEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs12(Left(x0), Left(x1), ty_@0, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_esEs7(x0, x1, ty_@0)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Int)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_@0)
new_esEs12(Left(x0), Left(x1), ty_Integer, x2)
new_esEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Bool, x2)
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs13(Just(x0), Just(x1), ty_Int)
new_esEs6(x0, x1, ty_Int)
new_esEs18(x0, x1)
new_esEs12(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_@0)
new_esEs19(GT, GT)
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs16(:(x0, x1), [], x2)
new_esEs7(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Int)
new_primMulNat0(Zero, Zero)
new_esEs13(Just(x0), Nothing, x1)
new_esEs23(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_esEs19(EQ, EQ)
new_esEs4(x0, x1, ty_@0)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_Float)
new_esEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Nothing, Just(x0), x1)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqNat0(Succ(x0), Zero)
new_primPlusNat0(Zero, x0)
new_esEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs22(x0, x1, ty_Float)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primEqNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_esEs26(x0, x1, ty_Int)
new_esEs12(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Bool)
new_esEs19(LT, LT)
new_esEs20(True, True)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_@0)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(True, x0)
new_asAs(False, x0)
new_esEs7(x0, x1, ty_Ordering)
new_esEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs22(x0, x1, ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Char, x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Bool)
new_esEs16([], [], x0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs26(x0, x1, ty_Float)
new_esEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs22(x0, x1, ty_Double)
new_esEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs20(False, True)
new_esEs20(True, False)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs20(False, False)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Integer)
new_esEs12(Right(x0), Right(x1), x2, ty_Char)
new_esEs13(Just(x0), Just(x1), ty_Bool)
new_primPlusNat1(Zero, Zero)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_primMulNat0(Succ(x0), Zero)
new_esEs22(x0, x1, ty_Ordering)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Bool)
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Ordering)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs7(x0, x1, ty_Char)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_Bool)
new_esEs12(Right(x0), Right(x1), x2, ty_Float)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Float)
new_esEs21(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy0(zu70, zu71, zu72, zu73, zu74, False, ba, bb) → new_deleteBy(@2(zu73, zu74), zu70, ba, bb)
new_deleteBy(@2(zu31100, zu31101), :(@2(zu4800, zu4801), zu481), bc, bd) → new_deleteBy0(zu481, zu4800, zu4801, zu31100, zu31101, new_asAs(new_esEs27(zu31100, zu4800, bc), new_esEs28(zu31101, zu4801, bd)), bc, bd)

The TRS R consists of the following rules:

new_esEs23(zu311002, zu48002, app(app(ty_@2, bfg), bfh)) → new_esEs5(zu311002, zu48002, bfg, bfh)
new_esEs22(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(app(ty_Either, beh), bfa)) → new_esEs12(zu311002, zu48002, beh, bfa)
new_esEs22(zu311001, zu48001, app(ty_Maybe, bdh)) → new_esEs13(zu311001, zu48001, bdh)
new_esEs22(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(ty_[], bgb)) → new_esEs16(zu31100, zu4800, bgb)
new_esEs20(True, True) → True
new_esEs22(zu311001, zu48001, app(ty_Ratio, bde)) → new_esEs9(zu311001, zu48001, bde)
new_primPlusNat1(Succ(zu9100), Succ(zu48001000)) → Succ(Succ(new_primPlusNat1(zu9100, zu48001000)))
new_esEs27(zu31100, zu4800, app(ty_Maybe, fg)) → new_esEs13(zu31100, zu4800, fg)
new_esEs13(Just(zu311000), Just(zu48000), ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu48000)) → False
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu48000)) → False
new_esEs26(zu311000, zu48000, app(app(ty_Either, bgd), bge)) → new_esEs12(zu311000, zu48000, bgd, bge)
new_esEs20(False, False) → True
new_esEs7(zu311001, zu48001, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311001, zu48001, fa, fb, fc)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_@2, gh), ha)) → new_esEs5(zu311000, zu48000, gh, ha)
new_esEs26(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Bool) → new_esEs20(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Succ(zu480000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu480000))) → False
new_esEs21(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs27(zu31100, zu4800, ty_Ordering) → new_esEs19(zu31100, zu4800)
new_esEs6(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs22(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Int) → new_esEs18(zu311002, zu48002)
new_esEs27(zu31100, zu4800, ty_Float) → new_esEs10(zu31100, zu4800)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu48000, app(app(ty_@2, bhc), bhd)) → new_esEs5(zu311000, zu48000, bhc, bhd)
new_esEs7(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs13(Nothing, Nothing, fg) → True
new_esEs21(zu311000, zu48000, app(app(ty_@2, bdc), bdd)) → new_esEs5(zu311000, zu48000, bdc, bdd)
new_esEs26(zu311000, zu48000, app(ty_[], bgg)) → new_esEs16(zu311000, zu48000, bgg)
new_esEs13(Just(zu311000), Just(zu48000), ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(ty_[], ca)) → new_esEs16(zu31101, zu4801, ca)
new_esEs21(zu311000, zu48000, app(app(ty_Either, bcd), bce)) → new_esEs12(zu311000, zu48000, bcd, bce)
new_esEs6(zu311000, zu48000, app(ty_[], df)) → new_esEs16(zu311000, zu48000, df)
new_primPlusNat0(Zero, zu4800100) → Succ(zu4800100)
new_esEs23(zu311002, zu48002, ty_Bool) → new_esEs20(zu311002, zu48002)
new_esEs5(@2(zu311000, zu311001), @2(zu48000, zu48001), cg, da) → new_asAs(new_esEs6(zu311000, zu48000, cg), new_esEs7(zu311001, zu48001, da))
new_esEs27(zu31100, zu4800, ty_Bool) → new_esEs20(zu31100, zu4800)
new_esEs7(zu311001, zu48001, app(ty_Maybe, eg)) → new_esEs13(zu311001, zu48001, eg)
new_esEs7(zu311001, zu48001, app(app(ty_@2, fd), ff)) → new_esEs5(zu311001, zu48001, fd, ff)
new_esEs6(zu311000, zu48000, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311000, zu48000, dg, dh, ea)
new_esEs26(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Double) → new_esEs11(zu311002, zu48002)
new_esEs26(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Char) → new_esEs15(zu311002, zu48002)
new_sr(Neg(zu3110010), Pos(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_sr(Pos(zu3110010), Neg(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_esEs28(zu31101, zu4801, app(app(ty_@2, ce), cf)) → new_esEs5(zu31101, zu4801, ce, cf)
new_esEs27(zu31100, zu4800, app(ty_Ratio, bga)) → new_esEs9(zu31100, zu4800, bga)
new_esEs8(@0, @0) → True
new_esEs27(zu31100, zu4800, ty_Char) → new_esEs15(zu31100, zu4800)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_[], gd)) → new_esEs16(zu311000, zu48000, gd)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(ty_[], bbb)) → new_esEs16(zu311000, zu48000, bbb)
new_esEs6(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_[], hg), hb) → new_esEs16(zu311000, zu48000, hg)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs12(Left(zu311000), Right(zu48000), bae, hb) → False
new_esEs12(Right(zu311000), Left(zu48000), bae, hb) → False
new_esEs22(zu311001, zu48001, app(app(ty_@2, bee), bef)) → new_esEs5(zu311001, zu48001, bee, bef)
new_esEs22(zu311001, zu48001, app(ty_[], bea)) → new_esEs16(zu311001, zu48001, bea)
new_esEs7(zu311001, zu48001, app(app(ty_Either, ee), ef)) → new_esEs12(zu311001, zu48001, ee, ef)
new_esEs11(Double(zu311000, zu311001), Double(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs7(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(ty_Either, bae), hb)) → new_esEs12(zu31100, zu4800, bae, hb)
new_esEs26(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs28(zu31101, zu4801, ty_Ordering) → new_esEs19(zu31101, zu4801)
new_esEs6(zu311000, zu48000, app(ty_Ratio, db)) → new_esEs9(zu311000, zu48000, db)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_Either, hd), he), hb) → new_esEs12(zu311000, zu48000, hd, he)
new_esEs26(zu311000, zu48000, app(app(app(ty_@3, bgh), bha), bhb)) → new_esEs17(zu311000, zu48000, bgh, bha, bhb)
new_esEs28(zu31101, zu4801, app(ty_Ratio, be)) → new_esEs9(zu31101, zu4801, be)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_@0, hb) → new_esEs8(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Succ(zu480000)) → False
new_esEs23(zu311002, zu48002, ty_@0) → new_esEs8(zu311002, zu48002)
new_esEs13(Just(zu311000), Just(zu48000), ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs28(zu31101, zu4801, ty_Int) → new_esEs18(zu31101, zu4801)
new_esEs13(Nothing, Just(zu48000), fg) → False
new_esEs13(Just(zu311000), Nothing, fg) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs12(Left(zu311000), Left(zu48000), ty_Integer, hb) → new_esEs14(zu311000, zu48000)
new_esEs19(GT, GT) → True
new_esEs7(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs27(zu31100, zu4800, ty_Int) → new_esEs18(zu31100, zu4800)
new_esEs26(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Double, hb) → new_esEs11(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4800, cg, da)
new_esEs16([], :(zu48000, zu48001), bgb) → False
new_esEs16(:(zu311000, zu311001), [], bgb) → False
new_esEs6(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, app(ty_Ratio, ed)) → new_esEs9(zu311001, zu48001, ed)
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), bbh, bca, bcb) → new_asAs(new_esEs21(zu311000, zu48000, bbh), new_asAs(new_esEs22(zu311001, zu48001, bca), new_esEs23(zu311002, zu48002, bcb)))
new_esEs25(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs21(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs17(zu31100, zu4800, bbh, bca, bcb)
new_esEs6(zu311000, zu48000, app(app(ty_@2, eb), ec)) → new_esEs5(zu311000, zu48000, eb, ec)
new_esEs18(zu31100, zu4800) → new_primEqInt(zu31100, zu4800)
new_esEs14(Integer(zu311000), Integer(zu48000)) → new_primEqInt(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(app(app(ty_@3, bbc), bbd), bbe)) → new_esEs17(zu311000, zu48000, bbc, bbd, bbe)
new_esEs19(LT, LT) → True
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs22(zu311001, zu48001, app(app(app(ty_@3, beb), bec), bed)) → new_esEs17(zu311001, zu48001, beb, bec, bed)
new_esEs13(Just(zu311000), Just(zu48000), app(app(app(ty_@3, ge), gf), gg)) → new_esEs17(zu311000, zu48000, ge, gf, gg)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu48000, app(app(app(ty_@3, bch), bda), bdb)) → new_esEs17(zu311000, zu48000, bch, bda, bdb)
new_esEs12(Left(zu311000), Left(zu48000), ty_Float, hb) → new_esEs10(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs28(zu31101, zu4801, ty_@0) → new_esEs8(zu31101, zu4801)
new_esEs13(Just(zu311000), Just(zu48000), ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs28(zu31101, zu4801, ty_Bool) → new_esEs20(zu31101, zu4801)
new_sr(Neg(zu3110010), Neg(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs13(Just(zu311000), Just(zu48000), ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, app(ty_Maybe, bfb)) → new_esEs13(zu311002, zu48002, bfb)
new_asAs(False, zu89) → False
new_esEs28(zu31101, zu4801, ty_Float) → new_esEs10(zu31101, zu4801)
new_sr(Pos(zu3110010), Pos(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs22(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_primEqNat0(Zero, Zero) → True
new_esEs22(zu311001, zu48001, app(app(ty_Either, bdf), bdg)) → new_esEs12(zu311001, zu48001, bdf, bdg)
new_primMulNat0(Zero, Succ(zu4800100)) → Zero
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Ratio, hc), hb) → new_esEs9(zu311000, zu48000, hc)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_Either, ga), gb)) → new_esEs12(zu311000, zu48000, ga, gb)
new_esEs7(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs26(zu311000, zu48000, app(ty_Ratio, bgc)) → new_esEs9(zu311000, zu48000, bgc)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Maybe, gc)) → new_esEs13(zu311000, zu48000, gc)
new_esEs15(Char(zu311000), Char(zu48000)) → new_primEqNat0(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(ty_Maybe, bh)) → new_esEs13(zu31101, zu4801, bh)
new_esEs26(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Maybe, hf), hb) → new_esEs13(zu311000, zu48000, hf)
new_primPlusNat0(Succ(zu910), zu4800100) → Succ(Succ(new_primPlusNat1(zu910, zu4800100)))
new_esEs9(:%(zu311000, zu311001), :%(zu48000, zu48001), bga) → new_asAs(new_esEs24(zu311000, zu48000, bga), new_esEs25(zu311001, zu48001, bga))
new_esEs21(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Int, hb) → new_esEs18(zu311000, zu48000)
new_esEs24(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs19(EQ, EQ) → True
new_esEs28(zu31101, zu4801, ty_Char) → new_esEs15(zu31101, zu4801)
new_esEs22(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_primPlusNat1(Succ(zu9100), Zero) → Succ(zu9100)
new_primPlusNat1(Zero, Succ(zu48001000)) → Succ(zu48001000)
new_esEs16([], [], bgb) → True
new_esEs21(zu311000, zu48000, app(ty_Ratio, bcc)) → new_esEs9(zu311000, zu48000, bcc)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(ty_Maybe, bba)) → new_esEs13(zu311000, zu48000, bba)
new_esEs23(zu311002, zu48002, app(app(app(ty_@3, bfd), bfe), bff)) → new_esEs17(zu311002, zu48002, bfd, bfe, bff)
new_esEs21(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(app(app(ty_@3, cb), cc), cd)) → new_esEs17(zu31101, zu4801, cb, cc, cd)
new_esEs12(Left(zu311000), Left(zu48000), ty_Bool, hb) → new_esEs20(zu311000, zu48000)
new_esEs25(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs7(zu311001, zu48001, app(ty_[], eh)) → new_esEs16(zu311001, zu48001, eh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(zu311002, zu48002, app(ty_Ratio, beg)) → new_esEs9(zu311002, zu48002, beg)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(app(ty_Either, bag), bah)) → new_esEs12(zu311000, zu48000, bag, bah)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zu480000))) → False
new_esEs10(Float(zu311000, zu311001), Float(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(ty_[], bfc)) → new_esEs16(zu311002, zu48002, bfc)
new_esEs7(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Ordering) → new_esEs19(zu311002, zu48002)
new_esEs12(Left(zu311000), Left(zu48000), app(app(app(ty_@3, hh), baa), bab), hb) → new_esEs17(zu311000, zu48000, hh, baa, bab)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs27(zu31100, zu4800, ty_Integer) → new_esEs14(zu31100, zu4800)
new_esEs28(zu31101, zu4801, app(app(ty_Either, bf), bg)) → new_esEs12(zu31101, zu4801, bf, bg)
new_esEs13(Just(zu311000), Just(zu48000), ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Char, hb) → new_esEs15(zu311000, zu48000)
new_esEs26(zu311000, zu48000, app(ty_Maybe, bgf)) → new_esEs13(zu311000, zu48000, bgf)
new_asAs(True, zu89) → zu89
new_esEs23(zu311002, zu48002, ty_Integer) → new_esEs14(zu311002, zu48002)
new_esEs21(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), bae, ty_Double) → new_esEs11(zu311000, zu48000)
new_primMulNat0(Succ(zu31100100), Succ(zu4800100)) → new_primPlusNat0(new_primMulNat0(zu31100100, Succ(zu4800100)), zu4800100)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs26(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Float) → new_esEs10(zu311002, zu48002)
new_esEs6(zu311000, zu48000, app(app(ty_Either, dc), dd)) → new_esEs12(zu311000, zu48000, dc, dd)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Ratio, fh)) → new_esEs9(zu311000, zu48000, fh)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs21(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_Maybe, bcf)) → new_esEs13(zu311000, zu48000, bcf)
new_esEs27(zu31100, zu4800, ty_@0) → new_esEs8(zu31100, zu4800)
new_esEs13(Just(zu311000), Just(zu48000), ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_@2, bac), bad), hb) → new_esEs5(zu311000, zu48000, bac, bad)
new_esEs24(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Succ(zu480000)) → new_primEqNat0(zu3110000, zu480000)
new_esEs16(:(zu311000, zu311001), :(zu48000, zu48001), bgb) → new_asAs(new_esEs26(zu311000, zu48000, bgb), new_esEs16(zu311001, zu48001, bgb))
new_esEs6(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(ty_Maybe, de)) → new_esEs13(zu311000, zu48000, de)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(ty_Ratio, baf)) → new_esEs9(zu311000, zu48000, baf)
new_esEs28(zu31101, zu4801, ty_Integer) → new_esEs14(zu31101, zu4801)
new_esEs26(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_[], bcg)) → new_esEs16(zu311000, zu48000, bcg)
new_esEs28(zu31101, zu4801, ty_Double) → new_esEs11(zu31101, zu4801)
new_esEs22(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs12(Left(zu311000), Left(zu48000), ty_Ordering, hb) → new_esEs19(zu311000, zu48000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu480000))) → False
new_esEs27(zu31100, zu4800, ty_Double) → new_esEs11(zu31100, zu4800)
new_esEs12(Right(zu311000), Right(zu48000), bae, app(app(ty_@2, bbf), bbg)) → new_esEs5(zu311000, zu48000, bbf, bbg)
new_esEs6(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True

The set Q consists of the following terms:

new_esEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs28(x0, x1, ty_Integer)
new_esEs12(Left(x0), Left(x1), ty_@0, x2)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs26(x0, x1, ty_Double)
new_esEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_esEs13(Just(x0), Nothing, x1)
new_esEs6(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs12(Left(x0), Left(x1), ty_Integer, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs13(Nothing, Just(x0), x1)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Float)
new_esEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs6(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Double)
new_esEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs16(:(x0, x1), [], x2)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(Double(x0, x1), Double(x2, x3))
new_esEs23(x0, x1, ty_Char)
new_esEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Integer)
new_esEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Int)
new_esEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs13(Just(x0), Just(x1), ty_Double)
new_primPlusNat1(Succ(x0), Zero)
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs28(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs12(Left(x0), Left(x1), ty_Int, x2)
new_esEs12(Right(x0), Right(x1), x2, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Ordering)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs8(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs22(x0, x1, ty_Bool)
new_esEs12(Left(x0), Right(x1), x2, x3)
new_esEs12(Right(x0), Left(x1), x2, x3)
new_esEs21(x0, x1, ty_Char)
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_esEs27(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs7(x0, x1, ty_@0)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Float)
new_esEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs27(x0, x1, ty_Float)
new_esEs13(Just(x0), Just(x1), ty_Char)
new_esEs12(Left(x0), Left(x1), ty_Char, x2)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), ty_Int)
new_esEs6(x0, x1, ty_Int)
new_esEs18(x0, x1)
new_esEs16([], [], x0)
new_esEs26(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_@0)
new_esEs19(GT, GT)
new_esEs12(Right(x0), Right(x1), x2, ty_Char)
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs7(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Zero)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Ordering)
new_esEs19(EQ, EQ)
new_esEs13(Just(x0), Just(x1), ty_Float)
new_esEs28(x0, x1, ty_Int)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqNat0(Succ(x0), Zero)
new_primPlusNat0(Zero, x0)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Float)
new_esEs6(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs19(LT, LT)
new_esEs20(True, True)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs27(x0, x1, ty_Char)
new_esEs13(Nothing, Nothing, x0)
new_esEs13(Just(x0), Just(x1), ty_@0)
new_esEs12(Right(x0), Right(x1), x2, ty_Float)
new_asAs(True, x0)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs12(Left(x0), Left(x1), ty_Float, x2)
new_asAs(False, x0)
new_esEs7(x0, x1, ty_Ordering)
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs22(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Left(x0), Left(x1), ty_Double, x2)
new_esEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs21(x0, x1, ty_Bool)
new_esEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Char)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs20(False, True)
new_esEs20(True, False)
new_esEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs20(False, False)
new_esEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs13(Just(x0), Just(x1), ty_Bool)
new_primPlusNat1(Zero, Zero)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Float)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_esEs28(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs27(x0, x1, ty_Bool)
new_esEs12(Left(x0), Left(x1), ty_Bool, x2)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Integer)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Bool)
new_primPlusNat1(Zero, Succ(x0))
new_esEs21(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Char)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Char)
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs14(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_Bool)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Float)
new_esEs21(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(:%(x0, x1), :%(x2, x3), x4)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_foldl(zu48, :(zu3110, zu3111), ba, bb) → new_foldl(new_deleteBy1(zu3110, zu48, ba, bb), zu3111, ba, bb)

The TRS R consists of the following rules:

new_esEs23(zu311002, zu48002, app(app(ty_@2, bfg), bfh)) → new_esEs5(zu311002, zu48002, bfg, bfh)
new_esEs22(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(app(ty_Either, beh), bfa)) → new_esEs12(zu311002, zu48002, beh, bfa)
new_esEs22(zu311001, zu48001, app(ty_Maybe, bdh)) → new_esEs13(zu311001, zu48001, bdh)
new_esEs22(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(ty_[], bae)) → new_esEs16(zu31100, zu4800, bae)
new_esEs20(True, True) → True
new_esEs22(zu311001, zu48001, app(ty_Ratio, bde)) → new_esEs9(zu311001, zu48001, bde)
new_primPlusNat1(Succ(zu9100), Succ(zu48001000)) → Succ(Succ(new_primPlusNat1(zu9100, zu48001000)))
new_esEs13(Just(zu311000), Just(zu48000), ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(ty_Maybe, eb)) → new_esEs13(zu31100, zu4800, eb)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu48000)) → False
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu48000)) → False
new_esEs26(zu311000, zu48000, app(app(ty_Either, bgb), bgc)) → new_esEs12(zu311000, zu48000, bgb, bgc)
new_esEs20(False, False) → True
new_esEs7(zu311001, zu48001, app(app(app(ty_@3, de), df), dg)) → new_esEs17(zu311001, zu48001, de, df, dg)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_@2, fc), fd)) → new_esEs5(zu311000, zu48000, fc, fd)
new_esEs26(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs13(Just(zu311000), Just(zu48000), ty_Bool) → new_esEs20(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Succ(zu480000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu480000))) → False
new_esEs21(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs27(zu31100, zu4800, ty_Ordering) → new_esEs19(zu31100, zu4800)
new_esEs6(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs22(zu311001, zu48001, ty_@0) → new_esEs8(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Int) → new_esEs18(zu311002, zu48002)
new_esEs27(zu31100, zu4800, ty_Float) → new_esEs10(zu31100, zu4800)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu48000, app(app(ty_@2, bha), bhb)) → new_esEs5(zu311000, zu48000, bha, bhb)
new_esEs7(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs13(Nothing, Nothing, eb) → True
new_esEs21(zu311000, zu48000, app(app(ty_@2, bdc), bdd)) → new_esEs5(zu311000, zu48000, bdc, bdd)
new_esEs26(zu311000, zu48000, app(ty_[], bge)) → new_esEs16(zu311000, zu48000, bge)
new_esEs13(Just(zu311000), Just(zu48000), ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(ty_[], bbe)) → new_esEs16(zu31101, zu4801, bbe)
new_esEs21(zu311000, zu48000, app(app(ty_Either, bcd), bce)) → new_esEs12(zu311000, zu48000, bcd, bce)
new_esEs6(zu311000, zu48000, app(ty_[], ca)) → new_esEs16(zu311000, zu48000, ca)
new_primPlusNat0(Zero, zu4800100) → Succ(zu4800100)
new_esEs23(zu311002, zu48002, ty_Bool) → new_esEs20(zu311002, zu48002)
new_esEs5(@2(zu311000, zu311001), @2(zu48000, zu48001), bc, bd) → new_asAs(new_esEs6(zu311000, zu48000, bc), new_esEs7(zu311001, zu48001, bd))
new_esEs27(zu31100, zu4800, ty_Bool) → new_esEs20(zu31100, zu4800)
new_esEs7(zu311001, zu48001, app(ty_Maybe, dc)) → new_esEs13(zu311001, zu48001, dc)
new_esEs7(zu311001, zu48001, app(app(ty_@2, dh), ea)) → new_esEs5(zu311001, zu48001, dh, ea)
new_esEs6(zu311000, zu48000, app(app(app(ty_@3, cb), cc), cd)) → new_esEs17(zu311000, zu48000, cb, cc, cd)
new_esEs26(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs23(zu311002, zu48002, ty_Double) → new_esEs11(zu311002, zu48002)
new_esEs26(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_deleteBy1(zu3110, [], ba, bb) → []
new_esEs23(zu311002, zu48002, ty_Char) → new_esEs15(zu311002, zu48002)
new_esEs28(zu31101, zu4801, app(app(ty_@2, bca), bcb)) → new_esEs5(zu31101, zu4801, bca, bcb)
new_sr(Neg(zu3110010), Pos(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_sr(Pos(zu3110010), Neg(zu480010)) → Neg(new_primMulNat0(zu3110010, zu480010))
new_esEs27(zu31100, zu4800, app(ty_Ratio, bad)) → new_esEs9(zu31100, zu4800, bad)
new_esEs8(@0, @0) → True
new_esEs27(zu31100, zu4800, ty_Char) → new_esEs15(zu31100, zu4800)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_[], eg)) → new_esEs16(zu311000, zu48000, eg)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), ha, app(ty_[], hf)) → new_esEs16(zu311000, zu48000, hf)
new_esEs6(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs6(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_[], gc), ff) → new_esEs16(zu311000, zu48000, gc)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs12(Left(zu311000), Right(zu48000), ha, ff) → False
new_esEs12(Right(zu311000), Left(zu48000), ha, ff) → False
new_esEs22(zu311001, zu48001, app(app(ty_@2, bee), bef)) → new_esEs5(zu311001, zu48001, bee, bef)
new_esEs22(zu311001, zu48001, app(ty_[], bea)) → new_esEs16(zu311001, zu48001, bea)
new_esEs7(zu311001, zu48001, app(app(ty_Either, da), db)) → new_esEs12(zu311001, zu48001, da, db)
new_esEs11(Double(zu311000, zu311001), Double(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs7(zu311001, zu48001, ty_Double) → new_esEs11(zu311001, zu48001)
new_esEs6(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(ty_Either, ha), ff)) → new_esEs12(zu31100, zu4800, ha, ff)
new_esEs26(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs28(zu31101, zu4801, ty_Ordering) → new_esEs19(zu31101, zu4801)
new_esEs6(zu311000, zu48000, app(ty_Ratio, be)) → new_esEs9(zu311000, zu48000, be)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_Either, fh), ga), ff) → new_esEs12(zu311000, zu48000, fh, ga)
new_esEs26(zu311000, zu48000, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs17(zu311000, zu48000, bgf, bgg, bgh)
new_esEs28(zu31101, zu4801, app(ty_Ratio, bba)) → new_esEs9(zu31101, zu4801, bba)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Integer) → new_esEs14(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_@0, ff) → new_esEs8(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Succ(zu480000)) → False
new_esEs23(zu311002, zu48002, ty_@0) → new_esEs8(zu311002, zu48002)
new_esEs13(Just(zu311000), Just(zu48000), ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs7(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs28(zu31101, zu4801, ty_Int) → new_esEs18(zu31101, zu4801)
new_esEs13(Just(zu311000), Nothing, eb) → False
new_esEs13(Nothing, Just(zu48000), eb) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs12(Left(zu311000), Left(zu48000), ty_Integer, ff) → new_esEs14(zu311000, zu48000)
new_esEs19(GT, GT) → True
new_esEs7(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs27(zu31100, zu4800, ty_Int) → new_esEs18(zu31100, zu4800)
new_esEs26(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Double, ff) → new_esEs11(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(ty_@2, bc), bd)) → new_esEs5(zu31100, zu4800, bc, bd)
new_esEs16([], :(zu48000, zu48001), bae) → False
new_esEs16(:(zu311000, zu311001), [], bae) → False
new_esEs6(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_deleteBy1(@2(zu31100, zu31101), :(@2(zu4800, zu4801), zu481), ba, bb) → new_deleteBy00(zu481, zu4800, zu4801, zu31100, zu31101, new_asAs(new_esEs27(zu31100, zu4800, ba), new_esEs28(zu31101, zu4801, bb)), ba, bb)
new_esEs7(zu311001, zu48001, app(ty_Ratio, cg)) → new_esEs9(zu311001, zu48001, cg)
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu48000, zu48001, zu48002), baf, bag, bah) → new_asAs(new_esEs21(zu311000, zu48000, baf), new_asAs(new_esEs22(zu311001, zu48001, bag), new_esEs23(zu311002, zu48002, bah)))
new_esEs25(zu311001, zu48001, ty_Integer) → new_esEs14(zu311001, zu48001)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs21(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs27(zu31100, zu4800, app(app(app(ty_@3, baf), bag), bah)) → new_esEs17(zu31100, zu4800, baf, bag, bah)
new_esEs6(zu311000, zu48000, app(app(ty_@2, ce), cf)) → new_esEs5(zu311000, zu48000, ce, cf)
new_esEs18(zu31100, zu4800) → new_primEqInt(zu31100, zu4800)
new_esEs14(Integer(zu311000), Integer(zu48000)) → new_primEqInt(zu311000, zu48000)
new_esEs21(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), ha, app(app(app(ty_@3, hg), hh), baa)) → new_esEs17(zu311000, zu48000, hg, hh, baa)
new_esEs19(LT, LT) → True
new_deleteBy00(zu70, zu71, zu72, zu73, zu74, True, bhc, bhd) → zu70
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Float) → new_esEs10(zu311000, zu48000)
new_esEs22(zu311001, zu48001, app(app(app(ty_@3, beb), bec), bed)) → new_esEs17(zu311001, zu48001, beb, bec, bed)
new_esEs13(Just(zu311000), Just(zu48000), app(app(app(ty_@3, eh), fa), fb)) → new_esEs17(zu311000, zu48000, eh, fa, fb)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu48000, app(app(app(ty_@3, bch), bda), bdb)) → new_esEs17(zu311000, zu48000, bch, bda, bdb)
new_esEs12(Left(zu311000), Left(zu48000), ty_Float, ff) → new_esEs10(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs28(zu31101, zu4801, ty_@0) → new_esEs8(zu31101, zu4801)
new_esEs13(Just(zu311000), Just(zu48000), ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs28(zu31101, zu4801, ty_Bool) → new_esEs20(zu31101, zu4801)
new_sr(Neg(zu3110010), Neg(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs13(Just(zu311000), Just(zu48000), ty_Int) → new_esEs18(zu311000, zu48000)
new_esEs23(zu311002, zu48002, app(ty_Maybe, bfb)) → new_esEs13(zu311002, zu48002, bfb)
new_asAs(False, zu89) → False
new_esEs28(zu31101, zu4801, ty_Float) → new_esEs10(zu31101, zu4801)
new_sr(Pos(zu3110010), Pos(zu480010)) → Pos(new_primMulNat0(zu3110010, zu480010))
new_esEs22(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_primEqNat0(Zero, Zero) → True
new_esEs22(zu311001, zu48001, app(app(ty_Either, bdf), bdg)) → new_esEs12(zu311001, zu48001, bdf, bdg)
new_primMulNat0(Zero, Succ(zu4800100)) → Zero
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Ratio, fg), ff) → new_esEs9(zu311000, zu48000, fg)
new_esEs13(Just(zu311000), Just(zu48000), app(app(ty_Either, ed), ee)) → new_esEs12(zu311000, zu48000, ed, ee)
new_esEs7(zu311001, zu48001, ty_Bool) → new_esEs20(zu311001, zu48001)
new_esEs26(zu311000, zu48000, app(ty_Ratio, bga)) → new_esEs9(zu311000, zu48000, bga)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Maybe, ef)) → new_esEs13(zu311000, zu48000, ef)
new_esEs15(Char(zu311000), Char(zu48000)) → new_primEqNat0(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(ty_Maybe, bbd)) → new_esEs13(zu31101, zu4801, bbd)
new_esEs26(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(ty_Maybe, gb), ff) → new_esEs13(zu311000, zu48000, gb)
new_primPlusNat0(Succ(zu910), zu4800100) → Succ(Succ(new_primPlusNat1(zu910, zu4800100)))
new_esEs9(:%(zu311000, zu311001), :%(zu48000, zu48001), bad) → new_asAs(new_esEs24(zu311000, zu48000, bad), new_esEs25(zu311001, zu48001, bad))
new_esEs21(zu311000, zu48000, ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Int, ff) → new_esEs18(zu311000, zu48000)
new_esEs24(zu311000, zu48000, ty_Integer) → new_esEs14(zu311000, zu48000)
new_deleteBy00(zu70, zu71, zu72, zu73, zu74, False, bhc, bhd) → :(@2(zu71, zu72), new_deleteBy1(@2(zu73, zu74), zu70, bhc, bhd))
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs28(zu31101, zu4801, ty_Char) → new_esEs15(zu31101, zu4801)
new_esEs19(EQ, EQ) → True
new_esEs22(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_primPlusNat1(Succ(zu9100), Zero) → Succ(zu9100)
new_primPlusNat1(Zero, Succ(zu48001000)) → Succ(zu48001000)
new_esEs16([], [], bae) → True
new_esEs21(zu311000, zu48000, app(ty_Ratio, bcc)) → new_esEs9(zu311000, zu48000, bcc)
new_esEs12(Right(zu311000), Right(zu48000), ha, app(ty_Maybe, he)) → new_esEs13(zu311000, zu48000, he)
new_esEs23(zu311002, zu48002, app(app(app(ty_@3, bfd), bfe), bff)) → new_esEs17(zu311002, zu48002, bfd, bfe, bff)
new_esEs21(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_esEs28(zu31101, zu4801, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs17(zu31101, zu4801, bbf, bbg, bbh)
new_esEs12(Left(zu311000), Left(zu48000), ty_Bool, ff) → new_esEs20(zu311000, zu48000)
new_esEs25(zu311001, zu48001, ty_Int) → new_esEs18(zu311001, zu48001)
new_esEs7(zu311001, zu48001, app(ty_[], dd)) → new_esEs16(zu311001, zu48001, dd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(zu311002, zu48002, app(ty_Ratio, beg)) → new_esEs9(zu311002, zu48002, beg)
new_esEs12(Right(zu311000), Right(zu48000), ha, app(app(ty_Either, hc), hd)) → new_esEs12(zu311000, zu48000, hc, hd)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zu480000))) → False
new_esEs10(Float(zu311000, zu311001), Float(zu48000, zu48001)) → new_esEs18(new_sr(zu311000, zu48000), new_sr(zu311001, zu48001))
new_esEs22(zu311001, zu48001, ty_Float) → new_esEs10(zu311001, zu48001)
new_esEs23(zu311002, zu48002, app(ty_[], bfc)) → new_esEs16(zu311002, zu48002, bfc)
new_esEs7(zu311001, zu48001, ty_Ordering) → new_esEs19(zu311001, zu48001)
new_esEs23(zu311002, zu48002, ty_Ordering) → new_esEs19(zu311002, zu48002)
new_esEs12(Left(zu311000), Left(zu48000), app(app(app(ty_@3, gd), ge), gf), ff) → new_esEs17(zu311000, zu48000, gd, ge, gf)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs27(zu31100, zu4800, ty_Integer) → new_esEs14(zu31100, zu4800)
new_esEs28(zu31101, zu4801, app(app(ty_Either, bbb), bbc)) → new_esEs12(zu31101, zu4801, bbb, bbc)
new_esEs13(Just(zu311000), Just(zu48000), ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), ty_Char, ff) → new_esEs15(zu311000, zu48000)
new_esEs26(zu311000, zu48000, app(ty_Maybe, bgd)) → new_esEs13(zu311000, zu48000, bgd)
new_asAs(True, zu89) → zu89
new_esEs23(zu311002, zu48002, ty_Integer) → new_esEs14(zu311002, zu48002)
new_esEs21(zu311000, zu48000, ty_Float) → new_esEs10(zu311000, zu48000)
new_primMulNat0(Succ(zu31100100), Succ(zu4800100)) → new_primPlusNat0(new_primMulNat0(zu31100100, Succ(zu4800100)), zu4800100)
new_esEs12(Right(zu311000), Right(zu48000), ha, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs19(LT, EQ) → False
new_esEs26(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs19(EQ, LT) → False
new_esEs23(zu311002, zu48002, ty_Float) → new_esEs10(zu311002, zu48002)
new_esEs6(zu311000, zu48000, app(app(ty_Either, bf), bg)) → new_esEs12(zu311000, zu48000, bf, bg)
new_esEs13(Just(zu311000), Just(zu48000), app(ty_Ratio, ec)) → new_esEs9(zu311000, zu48000, ec)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu480000))) → new_primEqNat0(zu3110000, zu480000)
new_esEs21(zu311000, zu48000, ty_Double) → new_esEs11(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_Maybe, bcf)) → new_esEs13(zu311000, zu48000, bcf)
new_esEs27(zu31100, zu4800, ty_@0) → new_esEs8(zu31100, zu4800)
new_esEs13(Just(zu311000), Just(zu48000), ty_Ordering) → new_esEs19(zu311000, zu48000)
new_esEs12(Left(zu311000), Left(zu48000), app(app(ty_@2, gg), gh), ff) → new_esEs5(zu311000, zu48000, gg, gh)
new_esEs24(zu311000, zu48000, ty_Int) → new_esEs18(zu311000, zu48000)
new_primEqNat0(Succ(zu3110000), Succ(zu480000)) → new_primEqNat0(zu3110000, zu480000)
new_esEs16(:(zu311000, zu311001), :(zu48000, zu48001), bae) → new_asAs(new_esEs26(zu311000, zu48000, bae), new_esEs16(zu311001, zu48001, bae))
new_esEs6(zu311000, zu48000, ty_Bool) → new_esEs20(zu311000, zu48000)
new_esEs6(zu311000, zu48000, app(ty_Maybe, bh)) → new_esEs13(zu311000, zu48000, bh)
new_esEs12(Right(zu311000), Right(zu48000), ha, app(ty_Ratio, hb)) → new_esEs9(zu311000, zu48000, hb)
new_esEs28(zu31101, zu4801, ty_Integer) → new_esEs14(zu31101, zu4801)
new_esEs26(zu311000, zu48000, ty_@0) → new_esEs8(zu311000, zu48000)
new_esEs21(zu311000, zu48000, app(ty_[], bcg)) → new_esEs16(zu311000, zu48000, bcg)
new_esEs28(zu31101, zu4801, ty_Double) → new_esEs11(zu31101, zu4801)
new_esEs22(zu311001, zu48001, ty_Char) → new_esEs15(zu311001, zu48001)
new_esEs12(Left(zu311000), Left(zu48000), ty_Ordering, ff) → new_esEs19(zu311000, zu48000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu480000))) → False
new_esEs12(Right(zu311000), Right(zu48000), ha, app(app(ty_@2, bab), bac)) → new_esEs5(zu311000, zu48000, bab, bac)
new_esEs27(zu31100, zu4800, ty_Double) → new_esEs11(zu31100, zu4800)
new_esEs6(zu311000, zu48000, ty_Char) → new_esEs15(zu311000, zu48000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True

The set Q consists of the following terms:

new_esEs13(Nothing, Nothing, x0)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Integer)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs26(x0, x1, ty_Double)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Left(x0), Left(x1), ty_Float, x2)
new_deleteBy1(x0, [], x1, x2)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Float)
new_esEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs6(x0, x1, ty_@0)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs11(Double(x0, x1), Double(x2, x3))
new_esEs23(x0, x1, ty_Char)
new_esEs16([], [], x0)
new_esEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs12(Left(x0), Left(x1), ty_Int, x2)
new_esEs23(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Integer)
new_esEs12(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Int)
new_esEs13(Just(x0), Just(x1), ty_Double)
new_esEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs12(Right(x0), Right(x1), x2, ty_Integer)
new_primPlusNat1(Succ(x0), Zero)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs28(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Ordering)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs8(@0, @0)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Nothing, x1)
new_esEs23(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs27(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_esEs16(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs7(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs13(Just(x0), Just(x1), ty_Integer)
new_esEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs7(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_esEs9(:%(x0, x1), :%(x2, x3), x4)
new_esEs13(Just(x0), Just(x1), ty_Char)
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, ty_Integer)
new_esEs13(Just(x0), Just(x1), ty_Int)
new_esEs6(x0, x1, ty_Int)
new_esEs18(x0, x1)
new_esEs26(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_@0)
new_esEs19(GT, GT)
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs12(Right(x0), Right(x1), x2, ty_Char)
new_esEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(x0, x1, ty_Float)
new_esEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Zero)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_@0)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(EQ, EQ)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_deleteBy00(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs13(Just(x0), Just(x1), ty_Float)
new_esEs28(x0, x1, ty_Int)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs13(Nothing, Just(x0), x1)
new_primEqNat0(Succ(x0), Zero)
new_primPlusNat0(Zero, x0)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Float)
new_esEs12(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Bool)
new_esEs12(Left(x0), Left(x1), ty_Bool, x2)
new_esEs19(LT, LT)
new_esEs20(True, True)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs27(x0, x1, ty_Char)
new_esEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs13(Just(x0), Just(x1), ty_@0)
new_asAs(True, x0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs7(x0, x1, ty_Ordering)
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs22(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs12(Right(x0), Right(x1), x2, ty_Double)
new_esEs16([], :(x0, x1), x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Left(x0), Right(x1), x2, x3)
new_esEs12(Right(x0), Left(x1), x2, x3)
new_esEs21(x0, x1, ty_Bool)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Char)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(False, True)
new_esEs20(True, False)
new_esEs20(False, False)
new_esEs12(Left(x0), Left(x1), ty_Double, x2)
new_esEs22(x0, x1, ty_Integer)
new_esEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs13(Just(x0), Just(x1), ty_Bool)
new_esEs12(Left(x0), Left(x1), ty_Char, x2)
new_primPlusNat1(Zero, Zero)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Ordering)
new_esEs21(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Integer)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Bool)
new_primPlusNat1(Zero, Succ(x0))
new_deleteBy00(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs21(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs6(x0, x1, ty_Char)
new_esEs7(x0, x1, app(ty_[], x2))
new_deleteBy1(@2(x0, x1), :(@2(x2, x3), x4), x5, x6)
new_esEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Ordering)
new_esEs15(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_Bool)
new_primPlusNat0(Succ(x0), x1)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Float)
new_esEs21(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs12(Left(x0), Left(x1), ty_Integer, x2)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_psPs(:(zu311111110, zu311111111), zu45, ba, bb) → new_psPs(zu311111111, zu45, ba, bb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: